home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / biz / patch / fixtb.lha / tbsizer.ASM < prev   
Assembly Source File  |  1996-11-16  |  1KB  |  58 lines

  1. OpenLib = -408
  2. CloseLibrary = -414
  3. SizeWindow = -288
  4. ExecBase = 4
  5. actscreen = 56
  6. firstwin = 4
  7. winxy = 4
  8. winw = 8
  9. winh = 10
  10.  
  11.          move.l   ExecBase,a6
  12.          lea      IntName,a1
  13.          jsr      OpenLib(a6)
  14.          move.l   d0,intbase
  15.  
  16.          move.l   d0,a1            ;point to intbase
  17.          move.l   actscreen(a1),a1 ;point to active screen
  18.          move.l   firstwin(a1),a1  ;point to 1st window
  19.  
  20.  
  21. loop1:
  22.          move.l   winxy(a1),d0     ;get winxy
  23.          cmp.l    tbxy,d0          ;this it?
  24.          bne      loop2            ;no
  25.          move.w   winh(a1),d0      ;get winh
  26.          cmp.w    twenty,d0        ;this it?
  27.          beq      bingo            ;yes
  28.  
  29. loop2:
  30.          move.l   (a1),a1          ;point to next window
  31.          move.l   a1,d0
  32.          cmp.l    zero,d0          ;any left?
  33.          bne      loop1            ;yes
  34.          bra      close
  35.  
  36. bingo:
  37.          move.l   sixforty,d0      ;get desired width
  38.          sub.w    winw(a1),d0      ;subtract window width
  39.          clr.l    d1
  40.          move.l   a1,a0
  41.          move.l   intbase,a6
  42.          jsr      SizeWindow(a6)
  43.  
  44. close:
  45.          move.l   execbase,a6
  46.          move.l   intbase,a1
  47.          jsr      CloseLibrary(a6)
  48.          rts
  49.  
  50. IntName: dc.b     "intuition.library",0
  51.          align
  52. intbase  dc.l     0
  53. zero     dc.l     0
  54. sixforty dc.l     640
  55. tbxy     dc.w     0,11
  56. twenty   dc.w     20
  57.          end
  58.